﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Domain.Interface
{
    public interface IPingShenCaoZuo : IDependency
    {
        #region 新点评接口
        /// <summary>
        /// 获取被考核人员列表
        /// </summary>
        /// <param name="username"></param>
        /// <returns></returns>
        string GetBieKaoHeRenYuans(string username);
        /// <summary>
        /// 获取被考核人考核列表
        /// </summary>
        /// <param name="username">被考核人账号</param>
        /// <returns></returns>
        string GetKaoHeBiaos(string username, string khusername);
        /// <summary>
        /// 获取可考核详细
        /// </summary>
        /// <param name="khbid">考核表Id</param>
        /// <param name="username">考核人员账号</param>
        /// <returns></returns>
        string GetKaoHeBiaoInfo(int khbid, string username);

        /// <summary>
        /// 点评考核内容PersonalContent
        /// </summary>
        /// <param name="khbid"></param>
        /// <param name="pcid">内容Id</param>
        /// <param name="username">考核人员账号</param>
        /// <returns></returns>
        int UpdateDianPing(int khbid, int pcid, decimal fz, string username); 
        #endregion

        /// <summary>
        /// 获取被审核人员的工作计划
        /// </summary>
        /// <param name="mbid"></param>
        /// <param name="username"></param>
        /// <returns></returns>
        string GongZuoJiHuaYuanGong(string datetimes,int mbid, string username);
        /// <summary>
        /// 获取工作计划详细
        /// </summary>
        /// <param name="mkhbid"></param>
        /// <param name="username"></param>
        /// <returns></returns>
        //string GetKaoHeBiaoInfo(int mkhbid, string username);
        /// <summary>
        /// 获取工作计划详细
        /// </summary>
        /// <param name="mkhbid"></param>
        /// <param name="username"></param>
        /// <returns></returns>
        string GetKaoHeBiaoInfoGongZuoJiHua(int mkhbid, string username);
        /// <summary>
        /// 获取所有的表
        /// </summary>
        /// <param name="mbid"></param>
        /// <param name="username"></param>
        /// <returns></returns>
        string GetAllIngKaoHeBiaos(int mbid, string username);
        /// <summary>
        /// 获取被考核人考核表
        /// </summary>
        /// <param name="username"></param>
        /// <returns></returns>
        string GetBeiKaoHeBiaos(string username);

        /// <summary>
        /// 获取所有可审核的表
        /// </summary>
        /// <param name="datetimes"></param>
        /// <param name="mbid"></param>
        /// <param name="username"></param>
        /// <returns></returns>
        string GetKaoHeBiaosByKeShenHe(string datetimes, int mbid, string username);
        /// <summary>
        /// 工作计划通过
        /// </summary>
        /// <param name="mkhbid"></param>
        /// <param name="username"></param>
        void UpdateKaoHeBiao_TongGuo(int mkhbid, string username);
        string GetKaoHeBiaoInfoByusername(string ry, string username);

        /// <summary>
        /// 工作计划退回
        /// </summary>
        /// <param name="mkhbid"></param>
        /// <param name="username"></param>
        //void UpdateKaoHeBiao_TuiHui(int mkhbid, string username);
        void UpdateKaoHeBiao_TuiHui(int mkhbid, string username,string yijian);
        /// <summary>
        /// 生成考核表
        /// </summary>
        /// <param name="ksid"></param>
        /// <param name="username"></param>
        void CreateKaoHeBiaoJiXiao(int ksid, string username,string DateTimes);
        /// <summary>
        /// 清除已生成的考核表绩效部分
        /// </summary>
        /// <param name="ksid"></param>
        /// <param name="username"></param>
        void DelKaoHeBiaoKeShi(int ksid, string username);
        string GetKaoHeFanWeiRenYuan(string username);
        /// <summary>
        /// 保存评审结果
        /// </summary>
        /// <param name="username">评审人</param>
        /// <param name="str">结果集</param>
        void SavePingShengJieGuo(string str);
        /// <summary>
        /// 创建附加项
        /// </summary>
        /// <param name="fjxmc"></param>
        /// <param name="fz"></param>
        void CreateFuJiaXiang(string fjxmc, decimal fz);
        /// <summary>
        /// 更新附加项
        /// </summary>
        /// <param name="fjxid"></param>
        /// <param name="fjxmc"></param>
        /// <param name="fz"></param>
        void UpdateFuJiaXiang(int fjxid, string fjxmc, decimal fz);
        /// <summary>
        /// 删除附加项
        /// </summary>
        /// <param name="fjxid"></param>
        void DelFuJiaXiang(int fjxid);
        /// <summary>
        /// 获取附加项集
        /// </summary>
        /// <returns></returns>
        string GetFuJiaXiangs();
        /// <summary>
        /// 获取附加项详细信息
        /// </summary>
        /// <param name="fjxid"></param>
        /// <returns></returns>
        string GetFuJiaXiang(int fjxid);
        /// <summary>
        /// 考核表中添加附加项
        /// </summary>
        /// <param name="mkhbid"></param>
        /// <param name="fjxid"></param>
        /// <param name="fz"></param>
        void MyKaoHeBiaoAddFuJiaXiang(string username,int mkhbid, int fjxid, decimal fz);
        /// <summary>
        /// 获取考核表附加项集
        /// </summary>
        /// <param name="mkhbid"></param>
        /// <returns></returns>
        string GetMyKaoHeBiaoFuJiaXiangs(int mkhbid);

        void MyKaoHeBiaoDelFuJiaXiang(int fjxxmid, int mkhbid);

        string GetKaoHeHuiZongMoBan(int mbid);
        string GetKaoHeHuiZongDeFen(int mbid, string datetimes);
        void DelPingFen(int mkhbid, string username);

        string GetPingFenRenYuanList(int mkhbid);
        
    }
}
